home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / gui / precog2_1.lha / Precognition2_1 / src / src.lha / Precognition / GridSnap.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-12-08  |  409 b   |  24 lines

  1. #include "GridSnap.h"
  2.  
  3.  
  4. short SnapTo( short n, short offset, short grid )
  5. {
  6.    short m;
  7.  
  8.    n -= offset;
  9.    m  = ( n + grid/2 ) / grid;
  10.  
  11.    return( (short)(m*grid + offset) );
  12. }
  13.  
  14. Point GridSnap( Point coord, struct GridSettings gs )
  15. {
  16.    if( gs.OnOff )
  17.    {
  18.       coord.x = SnapTo( coord.x, gs.offset.x, gs.gridsize.x );
  19.       coord.y = SnapTo( coord.y, gs.offset.y, gs.gridsize.y );
  20.    }
  21.  
  22.    return coord;
  23. }
  24.